import { useUserStore } from '@/stores/user'

// 检查用户权限
export const checkPermission = requiredRole => {
    const userStore = useUserStore()

    if (!userStore.isLoggedIn()) {
        return false
    }

    if (requiredRole === 'admin') {
        return userStore.checkIsAdmin()
    }

    return true
}

// 检查路由权限
export const checkRoutePermission = route => {
    const userStore = useUserStore()

    // 如果路由不需要认证，直接返回true
    if (!route.meta?.requiresAuth) {
        return true
    }

    // 检查是否登录
    if (!userStore.isLoggedIn()) {
        return false
    }

    // 检查是否需要管理员权限
    if (route.meta?.requiresAdmin && !userStore.checkIsAdmin()) {
        return false
    }

    return true
}

// 获取用户角色
export const getUserRole = () => {
    const userStore = useUserStore()
    return userStore.userInfo?.userRole || 'guest'
}

// 检查是否是管理员
export const isAdmin = () => {
    const userStore = useUserStore()
    return userStore.checkIsAdmin()
}

// 检查是否已登录
export const isLoggedIn = () => {
    const userStore = useUserStore()
    return userStore.isLoggedIn()
}
